RMAN Recovery - Hot Cloning

Active database duplication does not require backup of the source database. It duplicates the live source database to the destination host by copying the database files over the network to the auxiliary (clone) instance. RMAN duplicate database can copy the required files as image copies or backup sets.

Prerequisites :

Before you begin with this activity, make sure below items are addressed
  • Source database is running in Archive log mode
  • Creating Directories
  • Creating pfile for clone database
  • Check for space requirements on target server
  • Servers are able to ping each other
  • Orapasswd setup
  • Tns setup
Target database: dev
Cloned database: TESDB

STEP 1 : Verifying the database name, Backups available in RMAN(Target Database)
		[oracle@sdbt ~]$ export ORACLE_SID=dev
[oracle@sdbt ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Mon Oct 16 17:44:46 2023
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 713031680 bytes Fixed Size 8624792 bytes Variable Size 583009640 bytes Database Buffers 113246208 bytes Redo Buffers 8151040 bytes Database mounted. Database opened. SQL> select name,dbid,open_mode,log_mode from v$database; NAME DBID OPEN_MODE LOG_MODE --------- ---------- -------------------- ------------ DEV 4176617848 READ WRITE ARCHIVELOG


STEP 2 : To check all the logfile,datafile,controlfile (Target Database)
		SQL> select member from v$logfile;
		MEMBER
		--------------------------------------------------------------------------------
		/u01/app/oracle/oradata/dev/redo03.log
		/u01/app/oracle/oradata/dev/redo02.log
		/u01/app/oracle/oradata/dev/redo01.log
		SQL> select name from v$controlfile;
		NAME
		--------------------------------------------------------------------------------
		/u01/app/oracle/oradata/dev/control01.ctl
		/u01/app/oracle/fast_recovery_area/dev/control02.ctl
		SQL> select name from v$datafile;
		NAME
		--------------------------------------------------------------------------------
		/u01/app/oracle/oradata/dev/system01.dbf
		/u01/app/oracle/oradata/dev/sysaux01.dbf
		/u01/app/oracle/oradata/dev/undotbs01.dbf
		/u01/app/oracle/oradata/dev/users01.dbf


STEP 3 : To set the db_file_name_convert and log_file_name_convert (Target Database)
		SQL> alter system set db_file_name_convert='/home/oracle/TESDB/oradata/data',
		'/u01/app/oracle/oradata/dev/' scope=spfile;
		System altered.
		
		SQL> alter system set log_file_name_convert='/home/oracle/TESDB/oradata/archivelog',
		'/u01/app/oracle/oradata/dev/' scope=spfile;
		System altered.

STEP 4 : Creating Directories for clone db
		[oracle@sdbt ~]$ mkdir TESDB
		[oracle@sdbt ~]$ cd TESDB
		[oracle@sdbt TESDB]$ ll
		total 0
		[oracle@sdbt TESDB]$ mkdir admin oradata
		[oracle@sdbt TESDB]$ cd admin
		[oracle@sdbt admin]$ pwd
		/home/oracle/TESDB/admin
		[oracle@sdbt admin]$ ll
		[oracle@sdbt admin]$ mkdir pfile adump diag
		[oracle@sdbt admin]$ ll
		drwxr-xr-x. 2 oracle oinstall 6 Oct 16 17:52 adump
		drwxr-xr-x. 2 oracle oinstall 6 Oct 16 17:52 diag
		drwxr-xr-x. 2 oracle oinstall 6 Oct 16 17:52 pfile
		[oracle@sdbt admin]$ cd ../
		[oracle@sdbt TESDB]$ cd oradata/
		[oracle@sdbt oradata]$ ll
		total 0
		[oracle@sdbt oradata]$ mkdir data control log archivelog
		[oracle@sdbt oradata]$ ll
		total 0
		drwxr-xr-x. 2 oracle oinstall 6 Oct 16 17:53 archivelog
		drwxr-xr-x. 2 oracle oinstall 6 Oct 16 17:53 control
		drwxr-xr-x. 2 oracle oinstall 6 Oct 16 17:53 data
		drwxr-xr-x. 2 oracle oinstall 6 Oct 16 17:53 log
		[oracle@sdbt oradata]$ cd ../
		[oracle@sdbt TESDB]$ cd admin/pfile/
		[oracle@sdbt pfile]$ ll
		total 4
		-rw-r--r--. 1 oracle oinstall 1230 Oct 16 17:59 initTESDB.ora

STEP 5 : Creating Pfile for TESTDB (Source DB)
		 [oracle@sdbt pfile]$ pwd
		/home/oracle/TESDB/admin/pfile
		[oracle@sdbt pfile]$ cat initTESDB.ora
		*.audit_file_dest='/home/oracle/TESDB/admin/adump'
		*.audit_trail='db'
		*.compatible='12.2.0'
		*.control_files='/home/oracle/TESDB/oradata/ctl/control01.ctl',
		'/u01/app/oracle/fast_recovery_area/TESDB/control02.ctl'

		*.db_block_size=8192
		*.db_file_name_convert='/u01/app/oracle/oradata/dev/','/home/oracle/TESDB/oradata/data'
		*.db_name='TESDB'
		*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area/TESDB'
		*.db_recovery_file_dest_size=8016m
		*.diagnostic_dest='/u01/app/oracle'
		*.dispatchers='(PROTOCOL=TCP) (SERVICE=devXDB)'
		*.log_archive_format='%t_%s_%r.dbf'
		*.log_file_name_convert='/u01/app/oracle/oradata/dev/',
		'/home/oracle/TESDB/oradata/archivelog'

		*.sga_target=678m
		*.nls_language='AMERICAN'
		*.nls_territory='AMERICA'
		*.open_cursors=300
		*.processes=300
		*.remote_login_passwordfile='EXCLUSIVE'
		*.undo_tablespace='UNDOTBS1'

		[oracle@sdbt pfile]$ cd $ORACLE_HOME/dbs
		[oracle@sdbt dbs]$ ll
		total 20
		-rw-rw----. 1 oracle oinstall 1544 Oct 16 17:45 hc_dev.dat
		-rw-r--r--. 1 oracle oinstall 3079 May 15  2015 init.ora
		-rw-r-----. 1 oracle oinstall   24 Mar  2  2022 lkDEV
		-rw-r-----. 1 oracle oinstall 3584 Mar  2  2022 orapwdev
		-rw-r-----. 1 oracle oinstall 3584 Oct 16 17:57 spfiledev.ora

STEP 6 : Ora passwd setup
		[oracle@sdbt dbs]$ orapwd file=orapwdev password=abcd#123 force=y
		[oracle@sdbt dbs]$ orapwd file=orapwTESDB password=abcd#123 force=y

STEP 7 : Making the clone Database in nomount state to duplicate the Database(source db)
		[oracle@sdbt dbs]$ export ORACLE_SID=TESDB
		[oracle@sdbt dbs]$ sqlplus / as sysdba
		SQL*Plus: Release 12.2.0.1.0 Production on Mon Oct 16 18:08:20 2023
		Copyright (c) 1982, 2016, Oracle.  All rights reserved.
		Connected to an idle instance.
		SQL> startup nomount pfile='/home/oracle/TESDB/admin/pfile/initTESDB.ora';
		ORACLE instance started.
		Total System Global Area  713031680 bytes
		Fixed Size		    8624792 bytes
		Variable Size		  310379880 bytes
		Database Buffers	  385875968 bytes
		Redo Buffers		    8151040 bytes
		------------------------------------------------------------------------------

STEP 8 : Connect rman for cloning
		[oracle@sdbt TESDB]$ export ORACLE_SID=dev
		[oracle@sdbt TESDB]$ rman target sys/abcd#123@dev auxiliary sys/abcd#123@TESDB

		Recovery Manager: Release 12.2.0.1.0 - Production on Mon Oct 16 18:13:39 2023
		Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.
		RMAN-00571: ===========================================================
		RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
		RMAN-00571: ===========================================================
		RMAN-00554: initialization of internal recovery manager package failed
		RMAN-04005: error from target database:
		ORA-12154: TNS:could not resolve the connect identifier specified

STEP 9 : Verifying Listener and tns entries in Source DB Entry
		[oracle@sdbt TESDB]$ cd $ORACLE_HOME/network/admin
		 [oracle@sdbt admin]$ cat listener.ora

		# listener.ora Network Configuration File:
		/u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora

		# Generated by Oracle configuration tools.
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.23)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )

SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = dev) (ORACLE_HOME = /u01/app/oracle/product/12.2.0/dbhome_1/) ) (SID_DESC = (SID_NAME = TESDB) (ORACLE_HOME = /u01/app/oracle/product/12.2.0/dbhome_1/) ) )

[oracle@sdbt admin]$ lsnrctl stop LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 16-OCT-2023 18:40:49 Copyright (c) 1991, 2016, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.23)(PORT=1521))) The command completed successfully

[oracle@sdbt admin]$ lsnrctl start LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 16-OCT-2023 18:40:53 Copyright (c) 1991, 2016, Oracle. All rights reserved. Starting /u01/app/oracle/product/12.2.0/dbhome_1//bin/tnslsnr: please wait... TNSLSNR for Linux: Version 12.2.0.1.0 - Production System parameter file is /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora Log messages written to /u01/app/oracle/diag/tnslsnr/sdbt/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.23)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.23)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production Start Date 16-OCT-2023 18:40:53 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF

Listener Parameter File /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/sdbt/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.23)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "TESDB" has 1 instance(s). Instance "TESDB", status UNKNOWN, has 1 handler(s) for this service... Service "dev" has 1 instance(s). Instance "dev", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully [oracle@sdbt admin]$ cat tnsnames.ora # tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools.

DEV = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.23)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = dev) ) )

TESDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.23)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = TESDB) ) )

[oracle@sdbt admin]$ tnsping TESDB 2 TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 16-OCT-2023 18:46:32 Copyright (c) 1997, 2016, Oracle. All rights reserved.
Used parameter files :
		Used TNSNAMES adapter to resolve the alias
		Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
		HOST = 192.168.1.23)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = TESDB)))
		OK (20 msec)
		OK (0 msec)
		[oracle@sdbt admin]$ tnsping dev 2
		TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 16-OCT-2023 18:46:38
		Copyright (c) 1997, 2016, Oracle.  All rights reserved.
		Used parameter files:
		Used TNSNAMES adapter to resolve the alias
		Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
		(HOST = 192.168.1.23)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = dev)))

		OK (0 msec)
		OK (10 msec)
 


STEP 10 : Connect rman for cloning
		[oracle@sdbt admin]$ export ORACLE_SID=dev
		[oracle@sdbt admin]$ rman target sys/abcd#123@dev auxiliary sys/abcd#123@TESDB
		Recovery Manager: Release 12.2.0.1.0 - Production on Mon Oct 16 18:49:40 2023
		Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.
		connected to target database: DEV (DBID=4176617848)
		connected to auxiliary database: TESDB (not mounted)


RMAN> duplicate target database to 'TESDB' from active database;
Starting Duplicate Db at 16-OCT-23 using target database control file instead of recovery catalog allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: SID=250 device type=DISK current log archived contents of Memory Script: { sql clone "create spfile from memory"; } executing Memory Script sql statement: create spfile from memory contents of Memory Script: { shutdown clone immediate; startup clone nomount; } executing Memory Script Oracle instance shut down connected to auxiliary database (not started) Oracle instance started Total System Global Area 713031680 bytes Fixed Size 8624792 bytes Variable Size 310379880 bytes Database Buffers 385875968 bytes Redo Buffers 8151040 bytes contents of Memory Script: { sql clone "alter system set db_name = ''DEV'' comment= ''Modified by RMAN duplicate'' scope=spfile"; sql clone "alter system set db_unique_name = ''TESDB'' comment= ''Modified by RMAN duplicate'' scope=spfile"; shutdown clone immediate; startup clone force nomount restore clone from service 'dev' primary controlfile; alter clone database mount; } executing Memory Script
sql statement: alter system set db_name = ''DEV'' comment= ''Modified by RMAN duplicate'' scope=spfile
sql statement: alter system set db_unique_name = ''TESDB'' comment= ''Modified by RMAN duplicate'' scope=spfile
Oracle instance shut down Oracle instance started Total System Global Area 713031680 bytes Fixed Size 8624792 bytes Variable Size 310379880 bytes Database Buffers 385875968 bytes Redo Buffers 8151040 bytes Starting restore at 16-OCT-23 allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: SID=254 device type=DISK channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service dev channel ORA_AUX_DISK_1: restoring control file channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02 output file name=/home/oracle/TESDB/oradata/ctl/control01.ctl output file name=/u01/app/oracle/fast_recovery_area/TESDB/control02.ctl Finished restore at 16-OCT-23 database mounted contents of Memory Script: { set newname for datafile 1 to "/home/oracle/TESDB/oradata/datasystem01.dbf"; set newname for datafile 3 to "/home/oracle/TESDB/oradata/datasysaux01.dbf"; set newname for datafile 4 to "/home/oracle/TESDB/oradata/dataundotbs01.dbf"; set newname for datafile 7 to "/home/oracle/TESDB/oradata/datausers01.dbf"; restore from nonsparse from service 'dev' clone database ; sql 'alter system archive log current'; } executing Memory Script executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME Starting restore at 16-OCT-23 using channel ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service dev channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00001 to /home/oracle/TESDB/oradata/datasystem01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:16 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service dev channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00003 to /home/oracle/TESDB/oradata/datasysaux01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:16 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service dev channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00004 to /home/oracle/TESDB/oradata/dataundotbs01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:04 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using network backup set from service dev channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00007 to /home/oracle/TESDB/oradata/datausers01.dbf channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 Finished restore at 16-OCT-23 sql statement: alter system archive log current current log archived contents of Memory Script: { restore clone force from service 'dev' archivelog from scn 1528886; switch clone datafile all; } executing Memory Script Starting restore at 16-OCT-23 using channel ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: starting archived log restore to default destination channel ORA_AUX_DISK_1: using network backup set from service dev channel ORA_AUX_DISK_1: restoring archived log archived log thread=1 sequence=3 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02 channel ORA_AUX_DISK_1: starting archived log restore to default destination channel ORA_AUX_DISK_1: using network backup set from service dev channel ORA_AUX_DISK_1: restoring archived log archived log thread=1 sequence=4 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 Finished restore at 16-OCT-23 datafile 1 switched to datafile copy input datafile copy RECID=5 STAMP=1150397554 file name=/home/oracle/TESDB/oradata/datasystem01.dbf datafile 3 switched to datafile copy input datafile copy RECID=6 STAMP=1150397554 file name=/home/oracle/TESDB/oradata/datasysaux01.dbf datafile 4 switched to datafile copy input datafile copy RECID=7 STAMP=1150397555 file name=/home/oracle/TESDB/oradata/dataundotbs01.dbf datafile 7 switched to datafile copy input datafile copy RECID=8 STAMP=1150397555 file name=/home/oracle/TESDB/oradata/datausers01.dbf contents of Memory Script: { set until scn 1528999; recover clone database delete archivelog ; } executing Memory Script executing command: SET until clause Starting recover at 16-OCT-23 using channel ORA_AUX_DISK_1 starting media recovery archived log for thread 1 with sequence 3 is already on disk as file
/u01/app/oracle/fast_recovery_area/TESDB/TESDB/archivelog/2023_10_16/o1_mf_1_3_lltg8r5b_.arc archived log for thread 1 with sequence 4 is already on disk as file /u01/app/oracle/fast_recovery_area/TESDB/TESDB/archivelog/2023_10_16/o1_mf_1_4_lltg8sfx_.arc archived log file name=/u01/app/oracle/fast_recovery_area/TESDB/TESDB/ archivelog/2023_10_16/o1_mf_1_3_lltg8r5b_.arc thread=1 sequence=3 archived log file name=/u01/app/oracle/fast_recovery_area/TESDB/TESDB/ archivelog/2023_10_16/o1_mf_1_4_lltg8sfx_.arc thread=1 sequence=4 media recovery complete, elapsed time: 00:00:01 Finished recover at 16-OCT-23 Oracle instance started Total System Global Area 713031680 bytes Fixed Size 8624792 bytes Variable Size 310379880 bytes Database Buffers 385875968 bytes Redo Buffers 8151040 bytes contents of Memory Script: { sql clone "alter system set db_name = ''TESDB'' comment= ''Reset to original value by RMAN'' scope=spfile"; sql clone "alter system reset db_unique_name scope=spfile"; } executing Memory Script sql statement: alter system set db_name = ''TESDB'' comment= ''Reset to original value by RMAN'' scope=spfile sql statement: alter system reset db_unique_name scope=spfile Oracle instance started Total System Global Area 713031680 bytes Fixed Size 8624792 bytes Variable Size 310379880 bytes Database Buffers 385875968 bytes Redo Buffers 8151040 bytes sql statement: CREATE CONTROLFILE REUSE SET DATABASE "TESDB" RESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 ( '/home/oracle/TESDB/oradata/archivelogredo01.log' ) SIZE 200 M REUSE, GROUP 2 ( '/home/oracle/TESDB/oradata/archivelogredo02.log' ) SIZE 200 M REUSE, GROUP 3 ( '/home/oracle/TESDB/oradata/archivelogredo03.log' ) SIZE 200 M REUSE DATAFILE '/home/oracle/TESDB/oradata/datasystem01.dbf' CHARACTER SET AL32UTF8 contents of Memory Script: { set newname for tempfile 1 to "/home/oracle/TESDB/oradata/datatemp01.dbf"; switch clone tempfile all; catalog clone datafilecopy "/home/oracle/TESDB/oradata/datasysaux01.dbf", "/home/oracle/TESDB/oradata/dataundotbs01.dbf", "/home/oracle/TESDB/oradata/datausers01.dbf"; switch clone datafile all; }


Executing Memory Script :
		executing command: SET NEWNAME

		renamed tempfile 1 to /home/oracle/TESDB/oradata/datatemp01.dbf in control file

		cataloged datafile copy
		datafile copy file name=/home/oracle/TESDB/oradata/datasysaux01.dbf
		RECID=1 STAMP=1150397603

		cataloged datafile copy
		datafile copy file name=/home/oracle/TESDB/oradata/dataundotbs01.dbf
		RECID=2 STAMP=1150397603

		cataloged datafile copy
		datafile copy file name=/home/oracle/TESDB/oradata/datausers01.dbf
		RECID=3 STAMP=1150397603


		datafile 3 switched to datafile copy
		input datafile copy RECID=1 STAMP=1150397603
		file name=/home/oracle/TESDB/oradata/datasysaux01.dbf

		datafile 4 switched to datafile copy
		input datafile copy RECID=2 STAMP=1150397603
		file name=/home/oracle/TESDB/oradata/dataundotbs01.dbf

		datafile 7 switched to datafile copy
		input datafile copy RECID=3 STAMP=1150397603
		file name=/home/oracle/TESDB/oradata/datausers01.dbf

		contents of Memory Script:
		{
		   Alter clone database open resetlogs;
		}
		executing Memory Script
		database opened
		Cannot remove created server parameter file
		Finished Duplicate Db at 16-OCT-23
		RMAN> EXIT


STEP 11 : Now the database has been successfully cloned we can verify the Database
		[oracle@sdbt dbs]$ export ORACLE_SID=TESDB
		[oracle@sdbt dbs]$ sqlplus / as sysdba
		SQL*Plus: Release 12.2.0.1.0 Production on Mon Oct 16 18:55:56 2023
		Copyright (c) 1982, 2016, Oracle.  All rights reserved.
		Connected to:
		Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> select name,dbid, open_mode, log_mode from v$database;
NAMEDBIDOPEN_MODELOG_MODE
-------------------------------------------
TESDB 1904037664 READ WRITE ARCHIVELOG


(RMAN Recovery - Restore from Prod backup to QA)